// 导入 WebSocket 模块
const WebSocket = require('ws');

// const Koa = require(koa);
// const app = new Koa();

// 引用 Server 类
// WebSocket 服务器分为服务端和客户端
const WebSocketServer = WebSocket.Server;

// 实例化
// 创建一个 WebSocket服务器实例  监听 4080  websocket没有跨域问题
const wss = new WebSocketServer({ port: 4080 });

console.log('WebSocket服务端已启动');

// 前端 websocket发送连接请求 走这里
// 如果有 WebSocket 请求接入，wss对象可响应 connection 事件来处理 WebSocket
// 监听客户端连接和发过来的消息， ws 代表客户端的连接
// A 拨打 B 电话，如果 B接通了，则相对于在他们之间建立了连接 connection
wss.on('connection', (ws) => {
  console.log('连接建立成功！');
  // console.log(ws, request);

  // 监听客户端发过来的消息
  ws.on('message', (msg) => {
    // console.log(msg);

    console.log('客户端对你说：', msg);

    // 向指定的客户端发送消息
    // ws.send(`ECHO:${msg}`, err => {
    //   err && console.log(`[SERVER] error:${err}`);
    // })

    ws.send(`服务器对你说：${msg}`);
  });
});
